Point of sale (POS) systems are of increasing use in the marketplace. FIG. 1 depicts a conventional POS system 10. The conventional POS system 10 includes a conventional POS host 20 having a conventional POS host application 22 and conventional UPOS printer drivers 24. The conventional POS system 10 also includes a conventional POS printer 30 having conventional firmware 32. Often, the conventional POS host application 22 is a conventional standard host application 22. A standard interface used in POS systems is Unified POS (UPOS). The UPOS interface allows host applications to be used on multiple UPOS compliant POS systems. Consequently, the conventional standard host application 22 may be a conventional UPOS host application 22.
During operation of the conventional POS system 10, various items are printed on the conventional POS printer 30. In order to do so, a complex payload is typically provided the conventional POS printer 30. The complex payload includes data as well as various commands such as bold face for a particular column, normal face for the next column, an alternate font for the third column, and other analogous commands. The complex payload thus provides the data and manages how the data is to be printed. The commands are provided from the UPOS host application 22 to the conventional UPOS printer drivers 24. Although the conventional UPOS host application 22 is compliant with the standard interface UPOS, the conventional POS printer 30 typically is not. Instead, the conventional POS printer 30 is a native printer capable of understanding its own, native, set of commands. Consequently, a conventional method for printing the complex payload including commands is used.
FIG. 2 depicts a conventional method 50 for printing a complex payload. The method 50 is described in the context of the conventional POS system 10. The conventional UPOS printer drivers 24, therefore, map the commands provided by the UPOS host application 22 to the native commands of the conventional POS printer 30. The complex payload, including commands for the conventional POS printer 30, is provided in a UPOS format from the UPOS host to the conventional UPOS printer drivers 24, via step 52. The conventional UPOS printer drivers 24 map the commands 30 to native commands with which the conventional POS printer 30 is compatible, via step 54. The conventional UPOS printer drivers 24 provide the complex payload to the conventional POS printer 30, via step 56. The conventional UPOS printer drivers 24 also individually track each of the commands provided to the printer, via step 58. For example, in step 58, the conventional UPOS printer drivers 24 individually determine whether each command has reached the conventional POS printer 30, whether any errors occurred for each command, and whether each command has been processed by the conventional POS printer 30. Furthermore, the conventional UPOS printer drivers 24 identify each command with a particular complex payload through step 58. Thus, the conventional UPOS printer drivers 24, and thus the conventional POS system 10, can determine whether the complex payload was processed correctly. Once it is confirmed that the last command associated with a particular complex payload has been processed without error, the conventional UPOS printer drivers 24 can destroy reference to the complex payload in the conventional UPOS printer drivers 24, via step 60. Typically, step 60 takes the form of removing a linked list including the commands that is associated with the complex payload.
Although the conventional method 50 and POS system 10 function, one of ordinary skill in the art will readily recognize that the management of complex payloads is inefficient and slow. In particular, the conventional UPOS printer drivers 24 must individually track each command to determine to which each complex payload the command belongs. For example, not only is the data being printed tracked, but the status of each command is individually tracked as the complex payload is sent to and processed by the conventional POS printer 30. Furthermore, in order to remove reference to the complex payload that has been processed, the conventional UPOS printer drivers 24 typically traverse the linked list of commands associated with the complex payload. Such a process can consume a significant amount of processing resources for the conventional POS system 10. In addition, the process of mapping the UPOS commands to the native commands is complex and likely to introduce errors into the complex payload. In the event of an error, the conventional UPOS printer drivers 24 locate the start of the reference to the complex payload and resend the entire complex payload. The process of locating the start of the references to complex payload in the driver can be difficult. Thus, accounting for errors can be more difficult.
Accordingly, what is needed is a system and method for more efficiently managing complex payloads in a POS system. The present invention addresses such a need.